Routines (alphabetical) > Routines: E > EXECUTE

EXECUTE

The EXECUTE function compiles and executes one or more IDL statements contained in a string at run-time. EXECUTE is limited by two factors:

Use of the EXECUTE function is not permitted when IDL is in Virtual Machine mode. The CALL_FUNCTION, CALL_METHOD, and CALL_PROCEDURE routines do not share this limitation; in many cases, uses of EXECUTE can be replaced with calls to these routines.

Like the CALL_PROCEDURE and CALL_FUNCTION routines, calls to EXECUTE can be nested. However, compiling the string at run-time is inefficient. CALL_FUNCTION and CALL_PROCEDURE provide much of the functionality of EXECUTE without imposing this limitation, and should be used instead of EXECUTE whenever possible.

Examples

Create a string that holds a valid IDL command and execute the command by entering:

com = 'PLOT, [0,1]'
void = EXECUTE(com)

Execute the contents of the string by entering:

R = EXECUTE(com)

A plot should appear. You can confirm that the string was successfully compiled and executed by checking that the value of R is 1.

Set CompileFlags=2 to use Implied Print within a program:

void = EXECUTE("4+4", 2)

IDL prints 8 to the output console.

Syntax

Result = EXECUTE(String [, CompileFlags] [, QuietExecution])

Return Value

EXECUTE returns true (1) if the string was successfully compiled and executed. If an error occurs during either phase, the result is false (0).

Arguments

String

A string containing the command(s) to be compiled and executed. Multiple statements in the string should be separated with the “&” character. GOTO statements and labels are not allowed.

Note: The command string has a limit of 32768 characters.

CompileFlags

Set this argument to one of the following values:

By default, if this argument is omitted, then EXECUTE will output any compiler error messages, and will not attempt to perform Implied Print.

QuietExecution

If this argument is set to a non-zero value, EXECUTE will not print error messages generated during execution to the console or IDL Output Log. If QuietExecution is omitted or set to 0, EXECUTE will output such errors.

Keywords

None.

Version History

Original

Introduced

5.2

Added QuietCompile argument

6.1

Added QuietExecution argument

8.3 Rename QuietCompile argument to CompileFlags (does not affect code) and allow CompileFlags=2 for Implied Print.

See Also

CALL_FUNCTION, CALL_METHOD, CALL_PROCEDURE, Implied Print